<?
abstract class bjPlugin{	
		
	public function getPluginDescriptors(){
		return array(
			"title" => "Generic Plugin",
			"guid" => "",
			"version" => "",
			"type" => "genericPlugin",
			"authors" => array(
				"Theo Chakkapark <theo@suteki.nu>"
			),
			"website" => "",
			"description" => ""	
		);		
	}
		
	/**
	 * Any initialization to be performed on first install. Install does not mean enable.
	 * @returns Array
	 * @subreturn String [$return:status[i]->errorCode] Only include this if errors are present with msg
	 * @subreturn String [$return:status[i]->msg]	 
	 */
	abstract public function pluginInstall();
	
	/**
	 * When the plugin is enabled.
	 */
	abstract public function pluginEnable($params);

	/**
	 * When the plugin is disabled.
	 */	
	abstract public function pluginDisable($params);

	/**
	 * When the plugin is to be permenanently removed.
	 */		
	abstract public function pluginUninstall($params);	

	/**
	 * Upgrades the plugin
	 */	
	abstract public function pluginUpgrade();

}
?>